package com.niodata.dp.core.security;

import com.niodata.dp.core.service.SystemService;
import java.util.List;

public interface ServiceSecurityManager {

  void grantUserServicePermission(long userId, SystemService service);

  void grantGroupServicePermission(long groupId, SystemService service);

  void revokeServicePermission(ServiceAuth serviceAuth);

  void revokeGroupServicePermission(long groupId, SystemService service);

  void revokeUserServicePermission(long userId, SystemService service);

  List<SystemService> getUserGrantedServices(long userId);

  boolean isGroupGrantedService(long groupId, SystemService service);

  List<SystemService> getGroupGrantedServices(long groupId);

  boolean isUserGrantedService(long userId, SystemService service);


}
